% klasa do zapisu stanu robota w danej chwili czasowej
% obiekty tej klasy zapisywane sa do tablicy serwer.wynik_roboty
% i wykorzystywane przy wizualizacji
function obj = stan_symulacji(indeks)
    global roboty;
    global mapa;
    
    if(indeks==0)
        obj.pozycja=[0 0];
        obj.xy=[0 0];
        obj.stan=0;
        obj.podstan=0;
        obj.numer_kasy=0;
        obj.do_zabrania=[];
        obj.zabrane_produkty=[];
        obj.zarezerwowane=[];
    else
        % tablica wspolrzednych (1-22) pola zajmowanego przez robota)
        obj.pozycja = roboty(indeks).pozycja;
    
        % tablica wspolrzednych (1-20) pozycji robota na aktualnym polu
        obj.xy = roboty(indeks).xy;
        
        % stany robota (zgodnie z definicja w klasie robot)
        obj.stan = roboty(indeks).stan;
        
        % pod-stany robota (zgodnie z definicja w klasie robot)
        obj.podstan = roboty(indeks).podstan;
    
        % numer kasy ktorej zamowienie robot realizuje
        obj.numer_kasy = roboty(indeks).numer_kasy;
    
        % tablica indeksow produktow, ktore robot jeszcze musi zabrac
        obj.do_zabrania = roboty(indeks).produkty;
        
        % tablica indeksow produktow, ktore robot aktualnie wiezie
        obj.zabrane_produkty = roboty(indeks).zabrane_produkty;
        
        rezerwacje=[];
        for i=1:22
            for j=1:22
                if(mapa(i,j)==indeks) rezerwacje=[rezerwacje, pole(i,j)]; end;
            end;
        end;
                
        obj.zarezerwowane=rezerwacje;
    end;
